


import React, { Component } from 'react'
//this的修正问题有三种
//render函数绑定this
//构造函数中修改this
//使用箭头函数
class App extends Component{

  constructor(props){
    super(props)
    // this.handleClick=this.handleClick.bind(this)
    console.log(this)
  }
state={
  msg:'设置的初始状态'
}

//bind   render函数动态绑定this
    //   construstor函数中修正this
// handleClick(){
//   console.log(this)//在使用bind改变this就可以输出是App
//   //在没有使用bind改变this的时候，输出的是undefined,并且还会报错
//   //bind修正this可以在construstor中改变也可以在元素的行内注册事件中改变
//   this.setState({
//     msg:'这里是普通的函数，使用bind改变this'
//   })
// }



  handleClick=()=>{
    console.log(this)//这里的this指得是app
    this.setState({
      msg:'数据'
    })
  }
    render(){
return(
  <div>
    {/* <button onClick={this.handleClick.bind(this)}>点击触发click事件</button> */}
    
    <button onClick={this.handleClick}></button>
    <h1>{this.state.msg}</h1>
  </div>
)
    }
}
export default App;